#include <stdlib.h>
#include <uv.h>
#include <unistd.h>

#include "tinyweb.h"
#define DEFAULT_IP_ADDR "127.0.0.1"
#define DEFAULT_PORT 8080
#define DEFAULT_PROJECT_DIR "./"

int main(int argc, char* argv[])
{
    char* ip_addr = DEFAULT_IP_ADDR;
    int port = DEFAULT_PORT;
    char* project_dir = DEFAULT_PROJECT_DIR;

    int opt;
    char* opt_string = "a:p:d:"; //  -a xx -p xx -d xx
    while ((opt=getopt(argc, argv, opt_string)) != -1) {
        switch (opt) {
            // -a ip address
            case 'a':
                ip_addr = optarg;
                break;
            // -p port
            case 'p':
                // 将字符串转换成整型数字 "8080" -> 8080
                port = atoi(optarg);
                break;
            // -d project directory
            case 'd':
                project_dir = optarg;
                break;
        }
    }
    // start server
	tinyweb_start(uv_default_loop(), ip_addr, port, project_dir);
	uv_run(uv_default_loop(), UV_RUN_DEFAULT);
}
